import type { PutBucketOptions } from "ali-oss";
import client from "./client";

// 定义上传到阿里云OSS的具体 bucket
const isDev = process.env.NODE_ENV === "development";
export const bucketObj = {
  name: isDev ? "develop-xtang-package" : "prod-xtang-package",
};

// 使用 Oss bucket
export const useBucket: () => void = () => client.useBucket(bucketObj.name);

// 创建 bucket
export const putBucket = async () => {
  const options: PutBucketOptions = {
    storageClass: "Standard", // 存储空间的默认存储类型为标准存储，即Standard。如果需要设置存储空间的存储类型为归档存储，请替换为Archive。
    acl: "public-read", // 存储空间的默认读写权限为私有，即private。如果需要设置存储空间的读写权限为公共读，请替换为public-read。
    dataRedundancyType: "LRS", // 存储空间的默认数据容灾类型为本地冗余存储，即LRS。如果需要设置数据容灾类型为同城冗余存储，请替换为ZRS。
    timeout: 1000 * 60 * 10,
  };
  // 填写Bucket名称
  await client.putBucket(bucketObj.name, options);

  useBucket();
};
